Many companies store data on database systems such as the present assignee's DB2 relational database system. DB2 is a registered trademark of International Business Machines Corporation in the United States, other countries, or both. The DB2 system is a relational database system that facilitates fast and efficient data extraction using queries written in a language known as Structured Query Language (SQL). As a simple example, using an SQL statement a relational database system can be used to search for all employees in the database that have salaries in excess of $50,000 and that are in the engineering department of the company. The portions of the statement that specify the salary and department search criteria re referred to as “parameterized” portions of the statement.
It is increasingly the case that companies wish to permit certain customers (or indeed the public at large) to access a company's database. This is possible owing to the Internet, because a database can be made accessible via the Internet. As an example of when a company might want to allow access, a bank might want to allow its customers to access stock quotes that are frequently updated and available in a database. This can be thought of as a database query. As another example, a library might wish to allow book borrowers to enter the library database and change their address when they move, without requiring interfacing with library personnel. This can be thought of as an update.
Prior systems and methods for allowing selected outside entry into a Web-accessible internal database suffer from several drawbacks. Some of these previous systems, such as the Common Object Request Broker Architecture (CORBA), were initially designed for internal data transfer, and accordingly did not use Hypertext Transfer Protocol (HTTP). One consequence of this is that since non-HTTP data cannot pass through computer firewalls, systems like CORBA are ineffective for a great many customers whose computers reside behind corporate or Internet Service Provider (ISP) firewalls. Other systems and methods require specific tailoring for each database system sought to be accessed, which requires the access system to be inflexibly bound to a particular database management system (DBMS) language.